package cn.yuanqiao.archive.bianyan.mapper;

import cn.yuanqiao.archive.bianyan.domain.YqDataGerenKu;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 资料资源个人库Mapper接口
 *
 * @ProjectName: ruoyi-modules-system
 * @Package: cn.yuanqiao.archive.bianyan.mapper
 * @ClassName: YqDataGerenKuMapper
 * @Author: lenovo
 * @Description: hbWang
 * @Date: 2023/7/5 16:17
 * @Version: 1.0
 */
public interface YqDataGerenKuMapper {
    /**
     * 查询资料资源个人库
     *
     * @param ID 资料资源个人库主键
     * @return 资料资源个人库
     */
    public YqDataGerenKu selectYqDataGerenKuByID(@Param("ID") String ID, @Param("tableName") String tableName);


    public List<YqDataGerenKu> selectYqDataGerenKuByIds(@Param("ids") String[] isd,
                                                       @Param("tableName") String tableName);

    /**
     * 查询资料资源个人库列表
     *
     * @param yqDataGerenKu 资料资源个人库
     * @return 资料资源个人库集合
     */
    public List<YqDataGerenKu> selectYqDataGerenKuList(@Param("yqDataGerenKu") YqDataGerenKu yqDataGerenKu,
                                                       @Param("tableName") String tableName);

    /**
     * 查询专题库信息
     *
     * @param
     * @return java.util.List<cn.yuanqiao.archive.bianyan.domain.YqDataGerenKu>
     * @author hbWang
     * @date 2023/7/5 18:22
     */
    public List<YqDataGerenKu> selectYqZhuanTiList(@Param("yqDataGerenKu") YqDataGerenKu yqDataGerenKu,
                                                   @Param("tableName") String tableName,
                                                   @Param("tableNameTp") String tableNameTp);

    /**
     * 新增资料资源个人库
     *
     * @param yqDataGerenKu 资料资源个人库
     * @return 结果
     */
    public int insertYqDataGerenKu(@Param("yqDataGerenKu") YqDataGerenKu yqDataGerenKu,
                                   @Param("tableName") String tableName);

    /**
     * 修改资料资源个人库
     *
     * @param yqDataGerenKu 资料资源个人库
     * @return 结果
     */
    public int updateYqDataGerenKu(@Param("yqDataGerenKu") YqDataGerenKu yqDataGerenKu,
                                   @Param("tableName") String tableName);

    /**
     * 删除资料资源个人库
     *
     * @param ID 资料资源个人库主键
     * @return 结果
     */
    public int deleteYqDataGerenKuByID(@Param("ID") String ID, @Param("tableName") String tableName);

    /**
     * 批量删除资料资源个人库
     *
     * @param IDs 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteYqDataGerenKuByIDs(@Param("ids") String[] ids, @Param("tableName") String tableName);

    /**
     * 修改个人库数据状态
     *
     * @param ids
     * @param typeState
     * @return
     */
    public int updateYqDataGerenKuId(@Param("ids") String[] ids, @Param("typeState") String typeState,
                                     @Param("tableName") String tableName);
}
